package com.csun.dsms.mapper;

import com.csun.dsms.model.domain.DsmsStaff;
import com.csun.dsms.model.dto.staff.StaffQueryDto;
import com.csun.dsms.model.vo.staff.StaffNumberVo;
import com.csun.dsms.model.vo.staff.StaffVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

public interface DsmsStaffMapper extends Mapper<DsmsStaff> {

    /**
     * 查询服务人员列表.
     *
     * @param staffQueryDto the user query dto
     *
     * @return the staff vo list.
     */
    List<StaffVo> queryListWithPage(StaffQueryDto staffQueryDto);

    /**
     * 通过Id查询服务人员.
     *
     * @param staffId the staff id
     *
     * @return the int
     */
    StaffVo showById(Long staffId);

    /**
     * 根据用户id获取服务人员信息
     *
     * @param userId    the user id
     *
     * @return  the staff vo
     */
    StaffVo selectByUserId(Long userId);

    /**
     * 获取每年每个月的服务人员数量
     *
     * @param year  the year-yyyy
     *
     * @return  the staff number vo list.
     */
    List<StaffNumberVo> queryStaffNumberList(String year);
    /*
     * 查询该公司下是否有在职服务人员
     * */
    List<StaffVo> queryStaffVo(StaffQueryDto staffQueryDto);
    //获取每年每个月的服务人员数量
    List<Map<String,Integer>>  queryStaffNumberByMonth(@Param("months") List<String> months);
    //查询当前服务人员所在片区
    DsmsStaff selectAreaByStaff(DsmsStaff dsmsStaff);
    //查询当前片区服务人员
    List<DsmsStaff> selectStaffByArea(DsmsStaff ds);
}